home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Atari Compendium
/
The Atari Compendium (Toad Computers) (1994).iso
/
files
/
umich
/
tex
/
td187src.lzh
/
MTDIALS.D
< prev
next >
Wrap
Text File
|
1991-06-08
|
4KB
|
128 lines
DEFINITION MODULE mtDials;
FROM SYSTEM IMPORT ADDRESS;
FROM MagicSys IMPORT Byte, ByteSet,
sWORD, sINTEGER, sCARDINAL, sBITSET,
lWORD, lINTEGER, lCARDINAL, lBITSET;
CONST MoveBox = 17; (* Neue Objekttypen *)
SpecButton = 18;
SpecText = 19;
FrameBox = 20;
TYPE DIALOG;
PROCEDURE NewDial (tree: ADDRESS; VAR dial: DIALOG): BOOLEAN;
(* Liefert die zu tree passende Dialogvariable *)
PROCEDURE DisposeDial (VAR dial: DIALOG);
(* Löscht die Dialogvariable *)
PROCEDURE ObjectType (dial: DIALOG; entry, extyp: sINTEGER);
(* Setzt erweiterten Typ *)
PROCEDURE InclFlag (dial: DIALOG; entry, bit: sINTEGER);
PROCEDURE ExclFlag (dial: DIALOG; entry, bit: sINTEGER);
(* Setzt bzw. löscht bit in OBJECT.obFlags *)
PROCEDURE InFlag (dial: DIALOG; entry, bit: sINTEGER): BOOLEAN;
(* TRUE wenn bit in OBJECT.obFlags *)
PROCEDURE InclState (dial: DIALOG; entry, bit: sINTEGER);
PROCEDURE ExclState (dial: DIALOG; entry, bit: sINTEGER);
(* Setzt bzw. löscht Bit in OBJECT.obState *)
PROCEDURE InState (dial: DIALOG; entry, bit: sINTEGER): BOOLEAN;
(* TRUE wenn bit in OBJECT.obState *)
PROCEDURE GetObjectString (dial: DIALOG; entry: sINTEGER; VAR str: ARRAY OF CHAR);
(* Liefert den String der folgenden Objekte:
* GBOXCHAR, GTEXT, GBOXTEXT, GFTEXT, GFBOXTEXT, GBUTTON,
* GSTRING, GTITLE
*)
PROCEDURE ObjectStringAdr (dial: DIALOG; entry: sINTEGER; str: ADDRESS);
(* Setzt den String der folgenden Objekte durch Austausch des entsprechenden
* Pointers: GBOXCHAR, GTEXT, GBOXTEXT, GFTEXT, GFBOXTEXT, GBUTTON,
* GSTRING, GTITLE
*)
PROCEDURE ObjectString (dial: DIALOG; entry: sINTEGER; str: ARRAY OF CHAR);
(* Setzt den String der folgenden Objekte indem str direkt in die Resource
* kopiert wird: GBOXCHAR, GTEXT, GBOXTEXT, GFTEXT, GFBOXTEXT, GBUTTON,
* GSTRING, GTITLE
*
* Ist der String kürzer als die maximale Länge wird mit Blanks bis zur
* maximalen Länge aufgefüllt. Dies gilt nicht für TEDINFO-Objekte!
*)
CONST CSCREEN = 0;
CMOUSE = 1;
CPOS = 2;
PROCEDURE DialCenter (dial: DIALOG; flag, x, y: sINTEGER);
(* Zentriert den Dialog.
*
* flag = CSCREEN Dialog wird auf dem Bildschirm zentriert
* flag = CMOUSE Dialog wird um die Maus zentriert
* flag = CPOS Dialog wird auf die in x, y übergebene Pos gesetzt
*)
CONST DSTART = 0;
DGROW = 1;
DSHRINK = 2;
DFINISH = 3;
DDISABLE = 4;
PROCEDURE DialForm (dial: DIALOG; flag: sINTEGER);
(* wie bei FormDial, nur daß bei DSTART tatsächlich der Hintergrund gebuffert
* wird und bei DFINISH wieder freigegeben wird.
*
* Zusätzliches Flag DDISABLE: Der Dialog wird im "Desktop-Grau" dargestellt,
* um zu verdeutlichen, daß seine Funktionen derzeit nicht zu erreichen sind.
* Sinnvoll, wenn man über einen Dialog einen anderen legt - der untere wird
* grau (nur die gesetzen Pixel). Wieder normal darstellen muß derzeit über
* DialDraw gemacht werden.
*)
PROCEDURE DialDraw (dial: DIALOG; entry, depth: sINTEGER);
(* Zeichnet den übergebenen Dialog, handling wie ObjcDraw *)
PROCEDURE DialDo (dial: DIALOG; edit: sINTEGER): sINTEGER;
(* form_do für MagicDials, edit ist die Nummer des ersten EDITABLE-Objekts *)
(*
* Das Modul initialisiert und deinitilisiert sich jetzt selbsttätig.
* Am Programmende braucht dazu nur die Prozedur mtAppl.ApplTerm
* Aufgerufen zu werden!
*)
CONST UseUndo = 0;
PROCEDURE DialConfig (flag: sINTEGER; set: BOOLEAN);
(* Setzt die Konfiguration der MagicDials. Bisher ist nur UseUndo implememtiert,
* alle andern Flags werden ignoriert. Wenn UseUndo mit TRUE übergeben wird,
* bricht DialDo beim drücken von UNDO den Dialog ab und returniert -1.
* UseUndo ist mit TRUE voreingestellt.
*)
END mtDials.